using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Data;
using System.Data.Common;
using AccessibilityTools.DB;


#region Mantis Code Auto Generate Assistant Illustration V1.0
/// AutoCode 代码生成助手 V1.2
/// 数据库版本 MySQL 5.7.18
/// 设计依据：App.Config所在的MySQL的表格 Fixed_assets_info
/// ********************************************************************
/// <summary>
/// 设计表格默认包含的字段如下：
/// id 主键 int 
/// 表格名称命名规则是小写字母单次，不同单词用下划线连接
/// 字段名称命名规则是小写字母单次，不同单词用下划线连接
/// is_enabled 删除标识 int[ -1 彻底删除][ 0 删除][ 1 有效 ] 
/// 用户登录的函数，关联一个用户登录日志表：user_login(id,user_id,login_time,logout_time),否则log必须为false
/// 时间类型的数据数据库中如果用bigint表达，必须包含 date 或者 time 才能被识别，会自动生成datetime数据
/// 非引用类对象，数字，字符，布尔等类型考虑到数据库，可能为空的情况，如果支持null类型，声明为：类型?
/// 非引用类对象，数字，字符，布尔等类型考虑到数据库，可能为空的情况，如果不支持null类型，声明为：类型
/// 非引用类对象，数字，字符，布尔等类型，如果不支持null类型，在自动转换时候数字会转换为0 字符为 '' 布尔为false
/// 对于数字主键，0是C#中的默认值，故要求数据库中不存在主键值为0的情况
/// 字段和属性为一一对应，属性为简单属性结构，属性Get,Set方法都是public，且未添加其他判断内容
/// 代码生成时间：2024年12月-05日 12时55分
/// <summary>
#endregion

namespace AccessibilityTools.DB.Serivce
{

    public interface Fixed_assets_infoDal
    {
        #region Method [8]
        /// <summary>
        /// 查询表格中最大的ID
        /// </summary>
        /// <returns></returns>
        int GetMaxId();

        /// <summary>
        /// 查询表格中记录的数量
        /// </summary>
        /// <returns></returns>
        int GetCount();

        /// <summary>
        /// 查询表格中记录的数量
        /// </summary>
        /// <returns></returns>
        int GetCount(string sqlWhere);

        /// <summary>
        /// 查询表格中是否存在记录
        /// </summary>
        /// <returns></returns>
        bool Exist(int ID);

        /// <summary>
        /// 增加单个对象信息
        /// </summary>
        /// <returns></returns>
        int Add(Fixed_assets_info model);
        /// <summary>
        /// 增加多个对象信息
        /// </summary>
        /// <returns></returns>
        int Add(List<Fixed_assets_info> models);

        /// <summary>
        /// 删除[软]单个对象信息
        /// </summary>
        /// <returns></returns>
        bool Delete(int ID);

        /// <summary>
        /// 更新单个对象信息
        /// </summary>
        /// <returns></returns>
        int Update(Fixed_assets_info model);
        /// <summary>
        /// 更新多个对象信息
        /// </summary>
        /// <returns></returns>
        int Update(List<Fixed_assets_info> models);

        /// <summary>
        /// 查询单个对象信息
        /// </summary>
        /// <returns></returns>
        Fixed_assets_info GetInstance(string UniqueColName, object UniqueColValue);
        /// <summary>
        /// 查询单个对象信息
        /// </summary>
        /// <returns></returns>
        Fixed_assets_info GetInstance(int ID);

        /// <summary>
        /// 查询多个对象信息[列表]
        /// </summary>
        /// <returns></returns>
        List<Fixed_assets_info> GetList(string sql);
        /// <summary>
        /// 查询多个对象信息[列表]
        /// </summary>
        /// <returns></returns>
        List<Fixed_assets_info> GetList();
        /// <summary>
        /// 查询多个对象信息[列表]
        /// </summary>
        /// <returns></returns>
        List<Fixed_assets_info> GetList(int isEnabled);
        /// <summary>
        /// 查询多个对象信息[表格]
        /// </summary>
        /// <returns></returns>
        DataTable GetTable(string sql);
        /// <summary>
        /// 查询多个对象信息[表格]
        /// </summary>
        /// <returns></returns>
        DataTable GetTable();
        /// <summary>
        /// 查询多个对象信息[表格]
        /// </summary>
        /// <returns></returns>
        DataTable GetTable(int isEnabled);
        /// <summary>
        /// 行转对象
        /// </summary>
        /// <returns></returns>
        Fixed_assets_info RowToInstance(DataRow dr);

        #endregion
    }
}
